package com.hhxy.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author ghp
 * @date 2023/4/25
 * @title
 * @description
 */
@Configuration
public class MyBatisPlusConfig {

    /**
     * 注入自定义自定义的MyBatisPlus分页插件对象，用于配置分页
     * 3.4.0之后版本
     * @return
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        // 创建MyBatisPlus拦截器对象
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        // 创建分页插件对象（指定数据库未系统使用的MySQL，因为数据是从MySQL中获取的）
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
        // 请求页超出范围时，返回首页
        paginationInnerInterceptor.setOverflow(true);
        // 将分页插件添加到MyBatisPlus拦截器中，实现数据分页效果
        mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
        return mybatisPlusInterceptor;
    }
}
